草庐IT

xml - 简单的 Scala XML 解析

全部标签

ruby-on-rails - 用于 ruby​​/rails 的自然语言日期解析器

有人知道类似于Date.js的东西吗?在ruby?能够从诸如“从今天起两周”之类的东西返回日期对象的东西。RemembertheMilk网络应用程序将此功能整合到他们的系统中,而且非常易于使用。我会使用Date.js库本身,但因为它在客户端,所以有其局限性。如果用户没有启用javascript,则该功能将丢失。这会影响手机用户,理想情况下,他们会通过短信(sms)使用我们的系统。我很想使用已经存在的解决方案,但如果不是,将此代码移植到Ruby中会有多难?我真的不太了解自然语言解释,但似乎需要一些时间。谢谢。 最佳答案 不要忘记在Ru

ruby - 使用 ruby​​-yajl 解析大型 JSON 哈希?

我有一个包含JSON散列的大文件(>50Mb)。像这样的东西:{"obj1":{"key1":"val1","key2":"val2"},"obj2":{"key1":"val1","key2":"val2"}...}与其解析整个文件并取前十个元素,不如解析散列中的每个项目。我实际上并不关心key,即obj1。如果我将上面的转换为:{"key1":"val1","key2":"val2"}"obj2":{"key1":"val1","key2":"val2"}我可以使用Yajl流轻松实现我想要的:io=File.open(path_to_file)count=10Yajl::Parse

ruby-on-rails - 使用机架中间件捕获无效的 JSON 解析错误

我正在使用Rails5,我正在尝试改进对我的API的无效JSON请求的错误处理。我尝试通过救援在Controller中解析来处理无效格式的JSON,但意识到如果用户将ContentType添加到他们的请求header,Rails中间件会在我的JSON请求到达Controller之前解析它。我遵循了以下指南:https://robots.thoughtbot.com/catching-json-parse-errors-with-custom-middleware但是,在启动服务器时出现以下错误:.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems

ruby-on-rails - 在数据库中始终将字段设为小写的简单方法

目前我正在模型中执行以下操作:before_save:to_lowerbefore_create:to_lowerdefto_lowerself.name=self.name.downcaseend对我来说似乎很重复。 最佳答案 如果您已经有before_save,则不需要before_create。before_save{|user|user.name=user.name.downcase} 关于ruby-on-rails-在数据库中始终将字段设为小写的简单方法,我们在StackOve

ruby-on-rails - XPath 或 CSS 解析速度更快(对于 HTML 文件上的 Nokogiri)?

我想知道NokogiriXPath或CSS解析是否可以更快地处理HTML文件。速度有何不同? 最佳答案 Nokogiri没有XPath或CSS解析。它将XML/HTML解析为单个DOM,然后您可以使用CSS或XPath语法进行查询。CSS选择器在要求libxml2执行查询之前在内部转换为XPath。因此(对于完全相同的选择器)XPath版本会快一点点,因为CSS不需要先转换成XPath。但是,您的问题没有通用答案;这取决于您选择的是什么,以及您的XPath是什么样的。很有可能,您不会编写与Nokogiri创建的相同的XPath。例如

ruby - 如何让 Ruby JSON 解析器忽略 json_class?

我有一个序列化的JSON字符串(实际上是chef角色定义),它有一个json_class键,使ruby​​JSON解析器试图强制它成为一个Chef::Role对象。我怎样才能让解析器忽略这个键,只是简单地反序列化成一个普通的哈希? 最佳答案 我遇到了同样的问题,通过阅读JSONgem的源代码找到了答案——在尝试解析之前取消设置JSON.create_id:JSON.create_id=nilJSON.parse('{"json_class":"Chef::Role"}').class=>Hash编辑:请注意,由于gem的版本为1.7

Slowloris DoS攻击的原理与简单实现

前言    Slowloris攻击是我在李华峰老师的书——《MetasploitWeb 渗透测试实战》里面看的,感觉既简单又使用,现在这种攻击是很容易被防护的啦。不过我也不敢真刀实战的去试,只是拿个靶机玩玩罢了。         废话还是写在结语里面吧。(划掉)结语可以不看(划掉)Slowloris攻击的原理        Slowloris是一种资源消耗类DoS攻击,它利用部分HTTP请求进行操作。也叫做慢速攻击,这里的慢速并不是说发动攻击慢,而是访问一条链接的速度慢。Slowloris攻击的功能是打开与目标Web服务器的连接,然后尽可能长时间的保持这些连接打开。如果由多台电脑同时发起Slo

ruby-on-rails - 在 Rails 中使用数组解析 JSON

我有远程服务器返回的以下JSON字符串:{"users":[{"user_id":1,"name":"ChrisRivers",},{"user_id":3,"name":"PeterCurley",}]}我想迭代用户。ActiveSupport::JSON.decode(response.body)["users"].eachdo|user|putsuser["name"]end据我所知,问题是:ruby无法将ActiveSupport::JSON.decode(response.body)["users"]识别为数组,因此puts只返回第一个用户。我该如何解决这个问题?

Ruby:如何解析字符串以提取内容并将其分配给变量

我有一个看起来像这样的字符串:"mynameis:andrew"我想解析字符串,从字符串中提取名称,并将其分配给一个变量。我如何使用Ruby做到这一点?更新:我用作示例的字符串只是一个示例。我将使用的字符串可以更改格式,因此您不能依赖实际示例中的冒号。以下是我正在使用的一些示例:"/nickandrew"#command:nick,value:"andrew""/joindevelopers"#command:join,value:"developers""/leave"#command:leave,value:nil我想使用某种正则表达式来解决这个问题(因为字符串可以更改格式),而不

ruby - 在 ruby​​ 中对数组进行排序的最简单代码?

我通常会做类似的事情array.sort{|a,b|a.somethingb.something}我应该如何干燥它? 最佳答案 使用排序方式array.sort_by{|e|e.something或sort_lambda=lambda{|e|e.something}array.sort_by(&sort_lambda)使用后者,您可以在其他sort_by语句中重用sort_lambda 关于ruby-在ruby​​中对数组进行排序的最简单代码?,我们在StackOverflow上找到一个